home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1997
/
MacHack 1997.toast
/
Hacks
/
Hacks ’96
/
Talking Telnet
/
source
/
config
/
IC
/
IConfig.c
< prev
next >
Wrap
Text File
|
1996-06-22
|
2KB
|
84 lines
/* IConfig.c */
#include "IConfig.proto.h"
#include "ICTypes.h"
#include "ICAPI.h"
#include "ICKeys.h"
#define kICftpHelper "\pHelper•ftp"
#define kIChttpHelper "\pHelper•http"
#define kICgopherHelper "\pHelper•gopher"
#define kICwaisHelper "\pHelper•wais"
#define kICtelnetHelper "\pHelper•telnet"
#define kICtn3270Helper "\pHelper•tn3270"
#define kICfingerHelper "\pHelper•finger"
#define kICwhoisHelper "\pHelper•whois"
ICInstance inst;
Boolean gHaveIC;
char * gICHelperKeys[] = {
NULL, /* kNotURL*/
(char *)"\pHelper•mailto",
(char *)"\pHelper•nntp",
(char *)"\pHelper•nntp",
(char *)"\pHelper•ftp",
(char *)"\pHelper•http",
(char *)"\pHelper•gopher",
(char *)"\pHelper•wais",
NULL, /* we handle telnet URL */
NULL, /* we handle rlogin URL */
(char *)"\pHelper•tn3270",
(char *)"\pHelper•finger",
(char *)"\pHelper•whois"
};
void ICUnload(void) { }
OSType GetHelperInfo(TURLKind urlKind)
{
ConstStr255Param key;
ICError icErr;
ICAttr attr;
long size;
ICAppSpec icAppSpec;
if (!gHaveIC)
return NULL;
key = (unsigned char *)gICHelperKeys[urlKind];
if (key == NULL)
return NULL;
size = sizeof(icAppSpec);
icErr = ICBegin(inst, icReadOnlyPerm); //we dont touch
icErr |= ICGetPref(inst, key, &attr, (Ptr)&icAppSpec, &size);
icErr |= ICEnd(inst);
if (icErr == noErr)
return (icAppSpec.fCreator);
else
return (NULL);
}
void ICinit(void)
{
ICError ICerr;
ICDirSpecArray folder_spec;
ICerr = ICStart(&inst, 'NCSA'); /* tell it our creator */
folder_spec[0].vRefNum = -1; /* search for prefs in system */
folder_spec[0].dirID = 2;
ICerr = ICFindConfigFile(inst, 1, (ICDirSpecArrayPtr) &folder_spec);
gHaveIC = (ICerr == noErr);
}
void stopInternetConfig(void)
{
ICError ICerr;
if (gHaveIC)
ICerr = ICStop(inst);
}